#pragma once
#include <opencv2/opencv.hpp>
#include <string>
#include <vector>

#include "base_util/log_lite.h"
#include "algo/base_struct.h"


namespace app {

#define CFG_PATH "./cfg.json"
#define CUR_VERSION "2.1.1"

enum SewageType {
  sewage_sewage=0,  
  sewage_water,
  sewage_floater

};

typedef struct sewageBox {
  cv::Rect box;
  float score;
  int class_idx;
}sewageBox_;

typedef struct RecSewageData {
  RecSewageData(int ic, int rv, int64 t): img_cnt(ic), rain_value(rv), time(t), is_rec(0), is_sewage(0) {}
  int img_cnt;
  int rain_value;
  int64 time;
  bool is_rec;
  std::vector<sewageBox> boxes;
  int is_sewage;

}RecSewageData_;

typedef struct sewageStatus {
  void clear() {
    start = 0;
    end = 0;
    start_time = 0;
    end_time = 0;
    event_id = "";
    colors.clear();
  }
  std::string event_id;
  int start;              // 1:找到开始  2:开始上传  3:上传完成
  int64 start_time;

  int end;
  int64 end_time;
  std::vector<std::string> colors;  // 排污颜色
}sewageStatus_;

}